package unimelb.discussiontracker.twitter.data.dao;

import java.util.List;

import unimelb.discussiontracker.twitter.common.QueryControl;
import unimelb.discussiontracker.twitter.data.entity.RankType;
import unimelb.discussiontracker.twitter.data.entity.TweetRanking;

public interface ITweetRankingDao extends IDataAccessObject<TweetRanking> {

    public TweetRanking findRankingsByTweetTopicAndIntervalId(long tweetId, long topicId, long intervalId, RankType rankType);

    public long countKeywordBasedRankings(long topicId, long intervalId);

    public List<TweetRanking> findKeywordBasedRankings(long topicId, long intervalId, QueryControl queryControl);

    public long countRankingsForUser(long userId, long topicId, long intervalId);

    public List<TweetRanking> findRankingsForUser(long userId, long topicId, long intervalId, QueryControl queryControl);

    public long countRankingsForTag(long tagId, long topicId, long intervalId);

    public List<TweetRanking> findRankingsForTag(long tagId, long topicId, long intervalId, QueryControl queryControl);

}
